package com.ftg.learn.chapter12.impl;

/**
 * class    :  普通 类变量 | 成员变量[实例变量]   类方法  | 成员方法
 *          ：  可以做为子类  父类  实现类
 *          : 可以实例化 new  有构造方法
 * interface   :  特殊的抽象类,特殊的类  接口是不能被实例化对象的
 *             : 1: 没有构造方法
 *               2: 接口里的方法只有三类
 *                  2.1  抽象方法 public abstract  让实现类重写  子接口直接继承
 *                  2.2  静态方法 static  不需要重写，接口名称.方法
 *                  2.3  默认方法 default 不需要重写 实现类直接使用或者子接口直接继承 现实类可以重写此方法也不重写
 *              3: 只有常量，没有变量
 * abstract class :  就是一个接口与一个类的整合
 *
 *
 * innerclass
 * enum
 * annotation
 *
 * @author kangjx
 * @createTime 2022/8/3
 */
public interface IStudy {

    //由于 接口不能实例化，所有接口没有构造方法 (right)

//    public abstract  抽象方法   实现类重写
    void goodStudy();

    //只有两类特殊 的修饰符修饰的方法  任何地方 接口名.
    static int test1(){
        return 123;
    }

    //相当于在接口里面定义一个方法 ，让实现类直接使用  相当继承功能
    default int test2(){
        return 2 + 3;
    }

}
